package com.yyfax.pay.depository.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.yyfax.pay.depository.domain.FuiouNotifyTask;

/**
 * 富友存管异步通知任务持久化接口
 * 
 * @author buyi
 * @date 2017-09-29 08:46:36
 * @since v2.0.0
 */
public interface FuiouNotifyTaskDao {
	/**
	 * 保存实体
	 * 
	 * @author buyi
	 * @date 2017-09-29 08:55:46
	 * @since v2.0.0
	 * @param record
	 * @return
	 */
	int insert(FuiouNotifyTask record);

	/**
	 * 根据组合主键更新信息
	 * 
	 * @author buyi
	 * @date 2017-09-04 14:25:10
	 * @since v2.0.0
	 * @param record
	 * @return
	 */
	public int updateByPrimaryKeySelective(FuiouNotifyTask record);

	/**
	 * 查询激活状态的集合
	 * 
	 * @author buyi
	 * @date 2018-01-23 15:28:15
	 * @since v2.0.8
	 * @param queryPageSize
	 * @return
	 */
	public List<FuiouNotifyTask> selectActiveList(int size);

	/**
	 * 批量更新状态
	 * 
	 * @author buyi
	 * @date 2018-01-23 15:51:21
	 * @since v2.0.8
	 *
	 * @param destState
	 * @param ids
	 * @return
	 */
	public int updateStateList(@Param("destState") String destState, @Param("ids") List<Integer> ids);

	/**
	 * 根据主键更新状态
	 * 
	 * @author buyi
	 * @date 2018-01-25 10:29:07
	 * @since v2.0.4
	 *
	 * @param id
	 * @param state
	 * @return
	 */
	public int updateStateById(@Param("id") Integer id,@Param("state") String state);

	public int updateStateByUniqueKey(@Param("busiId") String busiId, @Param("type") String type, @Param("state") String state);

	FuiouNotifyTask queryByUniqueKey(@Param("busiId") String busiId, @Param("type") String value);
}